package com.haircut.project.service.record;

import com.haircut.project.vo.record.*;
import com.haircut.project.vo.statistics.*;
import com.modular.result.PageResult;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

public interface IRecordService {
    /**
     * 保存记录信息
     * @param recordVo
     */
    void saveRecord(ApiRecordVo recordVo);

    /**
     * 保存记录信息
     * @param recordVo
     */
    void moidfyRecord(ApiRecordVo recordVo);

    /**
     * 分页查询数据
     * @param reqVo
     * @return
     */
    PageResult<RecordResVo> findManagerPage(RecordReqVo reqVo);

    /**
     * 导出数据
     * @param reqVo
     * @param res
     */
    void export(RecordReqVo reqVo, HttpServletResponse res);

    /**
     * 分页查询数据
     * @param reqVo
     * @return
     */
    PageResult<ApiRecordResVo> findPage(ApiRecordReqVo reqVo);

    /**
     * 查询详情
     * @param id
     * @return
     */
    ApiRecordDetailVo findDetail(String id);

    /**
     * 核查数据
     * @param recordId
     */
    void checkRecord(String recordId);

    /**
     * 查询统计数据
     * @param reqVo
     * @return
     */
    List<SalaryDeptResVo> findSalaryStatic();

    /**
     * 项目排行榜
     * @param reqVo
     * @return
     */
    PageResult<StatisProjectVo> findProjectRankPage(SalaryReqVo reqVo);

    /**
     * 用户排行榜
     * @param reqVo
     * @return
     */
    PageResult<StatsUserVo> findUserRankPage(SalaryReqVo reqVo);

}
